A frame is a screen object that contains one or more Emacs windows (see Windows). It is the kind of object called a “window” in the terminology of graphical environments; but we can’t call it a “window” here, because Emacs uses that word in a different way. In Emacs Lisp, a frame object is a Lisp object that represents a frame on the screen. See Frame Type.
A frame initially contains a single main window and/or a minibuffer window; you can subdivide the main window vertically or horizontally into smaller windows. See Splitting Windows.
A terminal is a display device capable of displaying one or more Emacs frames. In Emacs Lisp, a terminal object is a Lisp object that represents a terminal. See Terminal Type.
There are two classes of terminals: text terminals
and graphical terminals. Text terminals are
non-graphics-capable displays, including xterm and
other terminal emulators. On a text terminal, each Emacs frame
occupies the terminal’s entire screen; although you can
create additional frames and switch between them, the terminal
only shows one frame at a time. Graphical terminals, on the other
hand, are managed by graphical display systems such as the X
Window System, which allow Emacs to show multiple frames
simultaneously on the same display.
On GNU and Unix systems, you can create additional frames on any available terminal, within a single Emacs session, regardless of whether Emacs was started on a text or graphical terminal. Emacs can display on both graphical and text terminals simultaneously. This comes in handy, for instance, when you connect to the same session from several remote locations. See Multiple Terminals.
This predicate returns a non-nil value if
object is a frame, and nil otherwise.
For a frame, the value indicates which kind of display the
frame uses:
tThe frame is displayed on a text terminal.
xThe frame is displayed on an X graphical terminal.
w32The frame is displayed on a MS-Windows graphical terminal.
nsThe frame is displayed on a GNUstep or Macintosh Cocoa graphical terminal.
pcThe frame is displayed on an MS-DOS terminal.
This function returns the terminal object that displays
frame. If frame is nil or
unspecified, it defaults to the selected frame.
This predicate returns a non-nil value if
object is a terminal that is live (i.e., not
deleted), and nil otherwise. For live terminals,
the return value indicates what kind of frames are displayed
on that terminal; the list of possible values is the same as
for framep above.
| • Creating Frames: | Creating additional frames. | |
| • Multiple Terminals: | Displaying on several different devices. | |
| • Frame Geometry: | Geometric properties of frames. | |
| • Frame Parameters: | Controlling frame size, position, font, etc. | |
| • Terminal Parameters: | Parameters common for all frames on terminal. | |
| • Frame Titles: | Automatic updating of frame titles. | |
| • Deleting Frames: | Frames last until explicitly deleted. | |
| • Finding All Frames: | How to examine all existing frames. | |
| • Minibuffers and Frames: | How a frame finds the minibuffer to use. | |
| • Input Focus: | Specifying the selected frame. | |
| • Visibility of Frames: | Frames may be visible or invisible, or icons. | |
| • Raising and Lowering: | Raising a frame makes it hide other windows; lowering it makes the others hide it. | |
| • Frame Configurations: | Saving the state of all frames. | |
| • Mouse Tracking: | Getting events that say when the mouse moves. | |
| • Mouse Position: | Asking where the mouse is, or moving it. | |
| • Pop-Up Menus: | Displaying a menu for the user to select from. | |
| • Dialog Boxes: | Displaying a box to ask yes or no. | |
| • Pointer Shape: | Specifying the shape of the mouse pointer. | |
| • Window System Selections: | Transferring text to and from other X clients. | |
| • Drag and Drop: | Internals of Drag-and-Drop implementation. | |
| • Color Names: | Getting the definitions of color names. | |
| • Text Terminal Colors: | Defining colors for text terminals. | |
| • Resources: | Getting resource values from the server. | |
| • Display Feature Testing: | Determining the features of a terminal. |